#include "translation.h"


//--------------------- Constructeurs et destructeur -------------------

/****************************************************************************************
 * Constructeur par défault                                                             *
 ****************************************************************************************/
Translation::Translation()
{
    _tx = _ty = _tz = 0.0;
}

/****************************************************************************************
 * Constructeur à trois paramètres                                                      *
 * @param tx : composante en x de la translation                                        *
 * @param ty : composante en y de la translation                                        *
 * @param tz : composante en z de la translation                                        *
 ****************************************************************************************/
Translation::Translation(GLfloat tx, GLfloat ty, GLfloat tz)
    : _tx(tx), _ty(ty), _tz(tz)
{

}

/****************************************************************************************
 * Destructeur                                                                          *
 ****************************************************************************************/
Translation::~Translation()
{

}
//----------------------------------------------------------------------
//--------------------- Méthodes ---------------------------------------

/****************************************************************************************
 * On utilise la transformation de translation                                          *
 ****************************************************************************************/
void Translation::utiliser()
{
    glTranslatef(_tx, _ty, _tz);
}

//----------------------------------------------------------------------
//--------------------- Accesseurs -------------------------------------

/****************************************************************************************
 * Mutateur sur la composante en x de la translation                                    *
 * @param tx : la nouvelle composante en x de la translation                            *
 ****************************************************************************************/
void Translation::setTx(GLfloat tx)
{
    _tx = tx;
}

/****************************************************************************************
 * Mutateur sur la composante en y de la translation                                    *
 * @param ty : la nouvelle composante en y de la translation                            *
 ****************************************************************************************/
void Translation::setTy(GLfloat ty)
{
    _ty = ty;
}

/****************************************************************************************
 * Mutateur sur la composante en z de la translation                                    *
 * @param tz : la nouvelle composante en z de la translation                            *
 ****************************************************************************************/
void Translation::setTz(GLfloat tz)
{
    _tz = tz;
}
